package com.jgzx.constant;

import cn.hutool.core.util.StrUtil;

/**
 * @Description 流水类型
 * @Author 李松松
 * @Date 2021/10/27
 **/
public enum CodeSerialTypeEnum {
    /** 数字 */
    D("D", "数字"),
    /** 字母 */
    L("L", "字母"),
    /** 数字+字母 */
    DL("D+L", "数字+字母"),
    /** 字母+数字 */
    LD("L+D", "字母+数字"),
    ;

    private final String value;
    private final String showName;

    /**
     * @param value 值
     * @param showName 显示名称
     */
    CodeSerialTypeEnum(String value, String showName){
        this.value = value;
        this.showName = showName;
    }

    /**
     * 通过流水类型值获取枚举对象
     * @param value 流水类型值
     * @return 流水类型枚举
     */
    public static CodeSerialTypeEnum getCodeSerialTypeByValue(String value){
        for(CodeSerialTypeEnum codeSerialType : CodeSerialTypeEnum.values()){
            if(StrUtil.equals(value, codeSerialType.value())){
                return codeSerialType;
            }
        }
        return null;
    }

    public String value() {
        return this.value;
    }

    public String showName() {
        return this.showName;
    }
}
